// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

// This file defines a list of use counters, which are things that can
// record usage of Web platform features and then report this information
// through Telemetry.
//
// The format of this file is very strict.  Each line can be:
//
//   (a) a blank line
//
//   (b) a comment, which is a line that begins with "//"
//
//   (c) one of three possible use counter declarations:
//
//         method <IDL interface name>.<IDL operation name>
//         attribute <IDL interface name>.<IDL attribute name>
//         property <CSS property method name>
//
// The |CSS property method name| should be identical to the |method|
// argument to CSS_PROP and related macros.  The method name is
// identical to the name of the property, except that all hyphens are
// removed and CamelCase naming is used.  See nsCSSPropList.h for
// further details.
//
// To actually cause use counters to be incremented, DOM methods
// and attributes must have a [UseCounter] extended attribute in
// the Web IDL file.  CSS properties require no special treatment
// beyond being listed below.
//
// You might reasonably ask why we have this file and we require
// annotating things with [UseCounter] in the relevant WebIDL file as
// well.  Generating things from bindings codegen and ensuring all the
// dependencies were correct would have been rather difficult, and
// annotating the WebIDL files does nothing for identifying CSS
// property usage, which we would also like to track.

method SVGSVGElement.getElementById
attribute SVGSVGElement.currentScale
property Fill
property FillOpacity

// Push API
method PushManager.subscribe
method PushSubscription.unsubscribe

// window.sidebar.addSearchEngine
attribute Window.sidebar
method External.addSearchEngine

// AppCache API
method OfflineResourceList.swapCache
method OfflineResourceList.update
attribute OfflineResourceList.status
attribute OfflineResourceList.onchecking
attribute OfflineResourceList.onerror
attribute OfflineResourceList.onnoupdate
attribute OfflineResourceList.ondownloading
attribute OfflineResourceList.onprogress
attribute OfflineResourceList.onupdateready
attribute OfflineResourceList.oncached
attribute OfflineResourceList.onobsolete
